04/08/98 - UOProxy V1.1 - Team NWO

Packet Structures

        Team NWO is currently looking through gobs and gobs of packet and
client information to determine the best architecture for the server program.
In order to facilitate our work, and those interested in seeing this work
come to completion, we are asking for any packet translation information
(valid information that is) that you can give.  Simply take packets logged
with UOProxy (or, if you want to decode them yourselves, I suppose you could
use something else, but that would just be a pain) and decode the structure
of packets from either the client or the server.


        Some packets that we know (i.e. don't want feedback on).
All of the login server packets are known and decoded.

The first packets of the game server, up to and including character selection
are known and decoded.

Various sections of other packets are known:

Each packet has a single byte "header byte".

Client Packets
Header in hex   meaning/breakdown
5d              character selection









Server Packets
Header in hex   meaning/breakdown
11              status packet
                header (1 byte) (0x11)
                size of packet (2 bytes)
                uid (4 bytes)  (first byte is suspected to be an id byte - 0x00 = player)
                character name (30 bytes) ( 00 padded at end)
                current health (2 bytes)
                max health (2 bytes)
                sex (3 bytes) (0x000100 seems to be male)
                strength (2 bytes)
                dexterity (2 bytes)
                intelligence (2 bytes)
                current stamina (2 bytes)
                max stamina (2 bytes)
                current mana (2 bytes)
                max mana (2 bytes)
                gold (4 bytes)
                armor class (2 bytes)
                weight (2 bytes)

20              character position?
                header (1 byte) (0x20)
                uid (4 bytes)
                object model (2 bytes)
                unknown (4 bytes)
                x position (2 bytes)
                y position (2 bytes)
                unknown (3 bytes)
                z position (1 byte)

77              position of characters other than yourself?
                header (1 byte) (0x77)
                uid (4 bytes)
                object model (2 bytes)
                x position (2 bytes)
                y position (2 bytes)
                z position (1 byte)
                direction (1 byte)
                color? (2 bytes)
                attack flag (1 bytes) (0x00 - no attack mode  0x40 - attack mode)
                unknown (1 byte)


        There are other packets we know that aren't listed here, but I'm too
lazy to finish this right now :)  We'll update this file and put new versions
on the page periodicly. Check our page often for updates.
http://home.bc.rogers.wave.ca/dtisdall/nwo.html
        In addition, if you know any packet information not listed above, or
find that any of this information is in error, please toss us a full
description of the packet, and all fields you know, as well as the position
in the packet, and the header byte.  In fact, a full copy of a packet using
this structure would be greatly appreciated as well.  Send all information
of this type to: nwoproj@supernews.com

-Rhad
Team NWO
